<template>
    <div class="swiper-container" ref="cur">
        <div class="swiper-wrapper">
            <div class="swiper-slide" v-for="(carousel, index) in list" :key="carousel.id">
                <img :src="carousel.imgUrl">
            </div>
        </div>
        <!-- 如果需要分页器 -->
        <div class="swiper-pagination"></div>

        <!-- 如果需要导航按钮 -->
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
    </div>
</template>

<script>
// 引入Swiper
import Swiper from 'swiper';
export default {
    name: 'Carousel',
    props: ['list'],

    data() {
        return {

        };
    },
    watch: {
        list: {
            // 立即监听: 我不管你数据有没有变化，我上来立即监听一次
            // 为什么watch监听不到list变化：因为这个数据从来没有发生变化（数据时父亲给的：父组件给的时候就是一个对象，对象里面该有数据都时有的）
            immediate: true,
            handler() {
                this.$nextTick(() => {
                    var mySwiper = new Swiper(this.$refs.cur, {
                        loop: true,
                        // 如果需要分页器
                        pagination: {
                            el: '.swiper-pagination',
                            // 点击小球切换图片
                            clickable: true
                        },
                        // 如果需要前进后退按钮
                        navigation: {
                            nextEl: '.swiper-button-next',
                            prevEl: '.swiper-button-prev',
                        }
                    })
                });
            }
        }
    },
};
</script>

<style lang="scss" scoped>
</style>